Concrete Class Inheritance
長所
テーブルが肥大化しにくい
短所
具象サブクラスが増えるとテーブルも増える
スーパークラスの共通属性にユニーク制約を適用できない
ユニーク制約は複数のテーブルをまたがれないのでアプリケーションで保証する必要がある
別テーブルの外部キー制約で参照できるのは単一の具象クラスのみ
外部キー制約は単一のテーブルしか参照できないので、複数の具象クラスを参照できる場合には実装できない
スーパークラスの共通属性をキーとするクエリーでは、全ての具象クラステーブルを検索する必要がある
RailsではCustomer.whereなど、スーパークラスのクエリーメソッドを自前で実装する必要がある